1. Technical Field
The present invention relates in general to a transfer or conversion system and method between two different types of systems and in particular to a data buffer management system and method to allow transfers and conversions of data between the two different systems.
2. Description of the Related Art
Communications between two different types of systems have become more commonplace and/or desired in the computer field. The ability for two systems of different formats of types to be able to communicate with each other provides much more flexibility and advantages than being limited to a single format or single type system. Some transfer and conversion systems and methods for two different types of systems have been developed. These systems have involved the use of mapping of different formats. The mapping may be accomplished by having the sending device form a block of data from its buffer structure, having the target device receive this block of data, and then formatting the block of data into its buffer structures. The data transfer efficiently places in memory a plurality of buffers so that multiple processors have access to the same data. Memory requirements in such systems or methods may be quite significant. U.S. Pat. No. 5,410,727 provides an example of such a system. This prior art patent is incorporated by reference herein.
Thus the same data in the buffer memory may need to be accessed by various sub-systems, such as processors, for various tasks. Systems and methods have been developed to deal with the accessing of such same data by different systems or processors. U.S. Pat. Nos. 4,956,771 and 5,592,625 provide examples of such systems and methods. These prior art patents are incorporated by reference herein.
Typically, the different systems transferring data use buffer memory to store, convert, and manage that data. The received frame data is stored in data buffers before being serviced by a processor and forwarded to the next destination. Software or computer algorithms are generally needed or used to accomplish the transfer, buffer, and mapping of the data. An efficient hardware system and/or method for accomplishing these tasks has not been developed. In other words, a system and method that use only hardware to perform the data buffer and control block mapping between the two different systems in order to efficiently transfer data does not exist at this time. Management of the data buffer memory and how it is to be structured and used needs to be accomplished in an efficient and orderly fashion. The provision of good management of the data buffer memory is a continual need and desire.
Also, the transfer and conversion of some two different types of systems do not even exist since many disadvantages and problems may exist in such transfer and conversion systems and methods.
It would therefore be advantageous and desirable to provide a data buffer management system and method between two different types of systems. It would also be advantageous and desirable to provide a system and method for transferring data between two different systems, such as a Personal Computer Interface (PCI) system and the switching fabric within a Local Area Network (LAN) system. It would further be advantageous and desirable to provide a data management system and method for handling and transferring data between the two systems wherein the system and method use only hardware to perform the data buffer and control block mapping between the two different systems in order to efficiently transfer data. It would still further be advantageous and desirable to improve the data buffer memory usage for data transfer and conversion by providing and managing a circular buffer chaining structure in hardware for the two different systems and by translating the buffer structure from one system to another system. It would also be advantageous and desirable to provide a system and method for transferring data between two different systems that provides the following features and as advantages: 1) multiple state machine design to efficiently service buffer updates from multiple sources; 2) maintenance of dual buffer structures; 3) mapping between two different control block structures; 4) high speed full duplex data operation.
It is therefore one object of the present invention to provide a data buffer management system and method between two different types of systems.
It is another object of the present invention to provide a system and method for transferring data between two different systems, such as a Personal Computer Interface (PCI) system and the internal switching fabric of a Local Area Network (LAN) system.
It is still another object of the present invention to provide a data management system and method for handling and transferring data between the two systems wherein the system and method use only hardware to perform the data buffer and control block mapping between the two different systems in order to efficiently transfer data.
It is still a further object of the present invention to improve the data buffer memory usage for data transfer and conversion by providing and managing a circular buffer chaining structure in hardware for the two different systems and by translating the buffer structure from one system to another system.
It is also another object of the present invention to provide a system and method for transferring data between two different systems that provides the following features and advantages: 1) multiple state machine design to efficiently service buffer updates from multiple sources; 2) maintenance of dual buffer structures; 3) mapping between two different control block structures; 4) high speed full duplex data operation.
The foregoing objects are achieved as is now described. A data buffer management system and method between two different types of systems. Transfer of data between two different systems, such as a Personal Computer Interface (PCI) system and the internal switching fabric of a Local Area Network (LAN) system, is provided. Only hardware is used to perform mapping and efficient data transfer between the two different systems. A circular buffer chaining structure is maintained and managed in hardware for the two different systems. The present system and method provides: 1) multiple state machine design to efficiently service buffer updates from multiple sources; 2) dual buffer structures are maintained; 3) mapping between two different control block structures; 4) high speed full duplex data operation. A data buffer management system is coupled to a data buffer memory wherein the data buffer management system manages use of the data buffer memory. A transmit operation is performed by transferring and storing data from one of the two different systems to the data buffer memory. The data in the data buffer memory is allowed to be converted and read by another of the two different systems. A receive operation is performed by transferring and storing data from another of the two different systems to the data buffer memory. The data in the data buffer memory is allowed to be converted and read by the one of the two different systems. The data buffer management system is used to multiplex and manage transferring and storing of the data into the data buffer memory.